package com.qf.ebook.controller;

import com.qf.ebook.entity.EbookEntry;
import com.qf.ebook.service.EbookEntryService;
import com.qf.ebook.vo.ResultVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;

import javax.validation.Valid;

@RestController
@RequestMapping("/entry")
@CrossOrigin
public class EbookEntryController {

    @Autowired
    private EbookEntryService entryService;

    /*
    请求路径和请求方式
  		GET http://localhost:8080/entry/list
  	请求参数：
    	page=Integer （默认值为1）
    	size=Integer （默认值为5）
    	type=Integer （可传可不传）
     */
    @GetMapping("/list")
    public ResultVO list(@RequestParam(defaultValue = "1")Integer page,
                         @RequestParam(value = "limit",defaultValue = "5")Integer size,
                         Integer categoryId){
        ResultVO result = entryService.findByPage(page,size,categoryId);
        return result;
    }


    /*
    添加电子图书
    [POST]() http://localhost:8080/entry/save
    参数:
        - categoryId=Integer （必传项）
        - title=String （必传项）
        - summary=String（可不传）
        - uploaduser=String（可不传）
        - createdate=Date（必传项，格式yyyy-MM-dd）
     */
    @PostMapping("/save")
    public ResultVO save(@Valid EbookEntry ebookEntry, BindingResult bindingResult){
        ResultVO resultVO = new ResultVO();
        //1. 校验参数
        if(bindingResult.hasErrors()){
            // 参数不合法
            String msg = bindingResult.getFieldError().getDefaultMessage();
            resultVO.setCode(11);
            resultVO.setMsg(msg);
            return resultVO;
        }

        //2. 调用service保存数据
        entryService.save(ebookEntry);

        //3. 响应JSON
        return resultVO;
    }













}
